Decentralized data networks are used nowadays in a plurality of technical application fields. Such data networks include a plurality of network nodes which can communicate with each other. These network nodes can for example be networked computers connected wirelessly or by wires to each other in a computer network, but can also involve any other types of unit, such as measurement units or sensors in technical systems or devices, such as medical devices, power station systems, automobiles and such like. The term network node is thus to be understood here and in the rest of this document in general terms and can relate to any unit communicating within one of the above-mentioned technical fields and if necessary other technical fields.
Decentralized data networks are identified by not having any central higher-ranking network node for organization of the network but by all network nodes having an equal ranking in the data network. This enables networks to be implemented which have high failsafe capabilities, simple scalability to large numbers of nodes and which are guaranteed to be able to be implemented with lower computing capacity.
In decentralized data networks resources are administered by the individual network nodes, with the resources being distributed to the individual network nodes such that each resource is assigned an index, with the indices in their turn being divided up into ranges of values and with each network node being responsible for a specific range of values of the totality of indices. In order to conduct a search for resources in the data network, the resources are frequently characterized by one or more keywords, with the term keyword to be understood in general terms and especially also being able to include just one identifier for specification of the identity of the resource. The keyword does not thus absolutely have to be a word from which a meaning content can be deduced.
Different methods for distributing resources to the network nodes of a decentralized data network using keywords are known from the prior art. In the area of computer networks in the form of so-called peer-to-peer-networks methods for distributing the resources are especially used which guarantee an even distribution of the resources over the network nodes, which avoids overloading individual network nodes. This is achieved for example by the use of hash-functions which have a locality-destroying characteristic to the extent to which they can even assign to lexicographically closely-adjacent keywords indices which are very far removed from each other. Although such methods allow an even distribution of the load to be achieved, these methods do not allow any efficient wildcard search using truncated keywords, since, as a result of the locality-destroying characteristics, the number of peers to be searched through is not restricted by the truncation.
In addition to the methods in which the distribution of the resources uses locality-destroying hash functions, there also exist in the prior art methods in which locality-preserving functions are used for assigning indices to keywords and for the appropriate distribution of resources to network nodes. In this way, although fast and efficient wildcard searches can be performed, overloading of network nodes frequently occurs from the fact that frequently-used similar keywords are always allocated to the same peers because of the partial preservation of the lexicographic order of the keywords.
A further approach known from the prior art for even load distribution consists of giving the individual network nodes themselves the option of distributing the available resources so that approximately the same number of resources lies in each value range of indices. However in practice this leads to security problems since these strategies require the network nodes to be able to choose their indices themselves and thus a malicious network node could explicitly place itself at the point in the index space at which a specific data record is stored in order to manipulate or to destroy this data record.